package anr.desu.pmo.proyecto.model.dao.jpa;

import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import anr.desu.pmo.proyecto.model.DetalleProyecto;
import anr.desu.pmo.proyecto.model.dao.DetalleProyectoDAO;

public class JPADetalleProyectoDAO implements DetalleProyectoDAO {

	private EntityManager em;
	
	public JPADetalleProyectoDAO(EntityManager em){
		this.em=em;
	}

	@Override
	public List<DetalleProyecto> findAll() {
		Query query=em.createQuery("Select o From DetalleProyecto o");
		return query.getResultList();
	}

	@Override
	public DetalleProyecto findById(Integer id) {
		return em.find(DetalleProyecto.class, id);
	}

	@Override
	public DetalleProyecto insert(DetalleProyecto o) {
		em.persist(o);
		return o;
	}

	@Override
	public void update(DetalleProyecto o) {
		em.merge(o);
	}

	@Override
	public void delete(DetalleProyecto o) {
		/*try {
			System.out.println("id " + o.getIdsolicitud());
			DetProyectoEmp remove=em.find(DetProyectoEmp.class, o.getIdsolicitud());
			em.remove(remove);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			System.out.println("Mensaje: " + e);
		}*/
	}

	@Override
	public List<DetalleProyecto> findByIdProyecto(Integer idproyecto) {
		Query query = null;
		try{
			query=em.createQuery("Select o From DetalleProyecto o Where o.proyecto.idproyecto=?1");
			query.setParameter(1, idproyecto);
		}catch(Exception e){
			System.out.println("mensaje: "+e.getMessage());
		}
		return query.getResultList();
	}
}
